{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "0094d55b-4129-4caa-9746-a7bea0655015",
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext lab_black"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "4c5e70e3-ad6e-4217-946f-f700f860ccdf",
   "metadata": {},
   "outputs": [],
   "source": [
    "import scanpy as sc\n",
    "import scipy as sp\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "pd.options.display.max_columns = None\n",
    "\n",
    "sc.settings.set_figure_params(dpi=80)\n",
    "sc.settings.verbosity = 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "6a2c930b-1e00-44ca-a41c-9d70c4afff5b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "AnnData object with n_obs × n_vars = 191795 × 29126\n",
       "    obs: 'orig_ident', 'nCount_RNA', 'nFeature_RNA', 'percent_mt', 'doublet_score', 'doublet', 'dissociation_s1', 'opt_clust', 'patient', 'batch', 'opt_clust_integrated', 'cell_type', 'ident'\n",
       "    obsm: 'HARMONY', 'PCA', 'UMAP_HARMONY'\n",
       "    layers: 'logcounts'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "adata = sc.read_h5ad(\n",
    "    \"../snRNA/from_rico/integrated_snrnaseq/integrated_rnasamples_ann.h5ad\"\n",
    ")\n",
    "adata"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "5bf8eb4e-8545-4cba-afda-bd83c6e0ce2e",
   "metadata": {},
   "outputs": [],
   "source": [
    "adata.raw = adata.copy()\n",
    "adata.X = adata.layers[\"logcounts\"].copy()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "38be22a1-14b3-4179-bca6-3fa6f01905c2",
   "metadata": {},
   "outputs": [],
   "source": [
    "del adata.layers[\"logcounts\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9be8ece4-3489-4b11-b7d1-4af07be7af1b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# obsm (Embeddings)\n",
    "adata.obsm[\"X_umap\"] = adata.obsm[\"UMAP_HARMONY\"].copy()\n",
    "adata.obsm[\"X_pca\"] = adata.obsm[\"PCA\"].copy()\n",
    "adata.obsm[\"X_harmony\"] = adata.obsm[\"HARMONY\"].copy()\n",
    "\n",
    "del adata.obsm[\"UMAP_HARMONY\"]\n",
    "del adata.obsm[\"PCA\"]\n",
    "del adata.obsm[\"HARMONY\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "3c4e077a-be56-442e-a68d-3de287ffdc08",
   "metadata": {},
   "outputs": [],
   "source": [
    "adata.obs.rename(\n",
    "    {\n",
    "        \"cell_type\": \"cell_type_original\",\n",
    "        \"nCount_RNA\": \"n_counts\",\n",
    "        \"nFeature_RNA\": \"n_genes\",\n",
    "        \"percent_mt\": \"percent_mito\",\n",
    "        \"ident\": \"final_cluster\",\n",
    "        \"orig_ident\": \"sample\",\n",
    "        \"batch\": \"seq_batch\",\n",
    "        \"dissociation_s1\": \"dissociation_score\",\n",
    "    },\n",
    "    axis=\"columns\",\n",
    "    inplace=True,\n",
    ")\n",
    "\n",
    "adata.obs.drop(columns=[\"doublet\", \"opt_clust\", \"opt_clust_integrated\"], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "456f9c8e-e035-4159-b907-df9daff51566",
   "metadata": {},
   "outputs": [],
   "source": [
    "adata.obs[\"cell_type_original\"].replace(\n",
    "    {\n",
    "        \"Adipo\": \"Adipocyte\",\n",
    "        \"CM\": \"Cardiomyocyte\",\n",
    "        \"Endo\": \"Endothelial\",\n",
    "        \"Fib\": \"Fibroblast\",\n",
    "        \"PC\": \"Pericyte\",\n",
    "        \"prolif\": \"Prolif\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "79548207-e13d-4f00-8c85-7f402c5c741f",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "... storing 'cell_type_original' as categorical\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 320x320 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sc.pl.umap(adata, color=\"cell_type_original\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "1bae7f77-fd62-4244-a689-b1b84f97715c",
   "metadata": {},
   "outputs": [],
   "source": [
    "## update patient ID\n",
    "adata.obs[\"patient\"] = adata.obs[\"sample\"]\n",
    "adata.obs[\"patient\"].replace(\n",
    "    {\n",
    "        \"CK158\": \"P1\",\n",
    "        \"CK162\": \"P4\",\n",
    "        \"CK165\": \"P2\",\n",
    "        \"CK163\": \"P2\",\n",
    "        \"CK161\": \"P3\",\n",
    "        \"CK160\": \"P3\",\n",
    "        \"CK164\": \"P3\",\n",
    "        \"CK159\": \"P5\",\n",
    "        \"CK374\": \"P17\",\n",
    "        \"CK356\": \"P6\",\n",
    "        \"CK357\": \"P7\",\n",
    "        \"CK358\": \"P8\",\n",
    "        \"CK359\": \"P2\",\n",
    "        \"CK360\": \"P9\",\n",
    "        \"CK361\": \"P10\",\n",
    "        \"CK362\": \"P11\",\n",
    "        \"CK363\": \"P9\",\n",
    "        \"CK375\": \"P9\",\n",
    "        \"CK364\": \"P12\",\n",
    "        \"CK365\": \"P13\",\n",
    "        \"CK366\": \"P14\",\n",
    "        \"CK367\": \"P18\",\n",
    "        \"CK368\": \"P19\",\n",
    "        \"CK369\": \"P16\",\n",
    "        \"CK376\": \"P16\",\n",
    "        \"CK370\": \"P20\",\n",
    "        \"CK371\": \"P15\",\n",
    "        \"CK372\": \"P9\",\n",
    "        \"CK373\": \"P15\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "377fa630-9edd-43a0-b7b3-02a196e042d8",
   "metadata": {},
   "outputs": [],
   "source": [
    "## update region ID\n",
    "adata.obs[\"region\"] = adata.obs[\"sample\"]\n",
    "adata.obs[\"region\"].replace(\n",
    "    {\n",
    "        \"CK158\": \"control\",\n",
    "        \"CK162\": \"FZ/GT\",\n",
    "        \"CK165\": \"IZ/BZ\",\n",
    "        \"CK163\": \"RZ/BZ\",\n",
    "        \"CK161\": \"IZ\",\n",
    "        \"CK160\": \"RZ/BZ\",\n",
    "        \"CK164\": \"RZ\",\n",
    "        \"CK159\": \"RZ/FZ\",\n",
    "        \"CK374\": \"control\",\n",
    "        \"CK356\": \"RZ\",\n",
    "        \"CK357\": \"control\",\n",
    "        \"CK358\": \"control\",\n",
    "        \"CK359\": \"RZ/GT\",\n",
    "        \"CK360\": \"RZ\",\n",
    "        \"CK361\": \"IZ\",\n",
    "        \"CK362\": \"RZ\",\n",
    "        \"CK363\": \"GT/IZ\",\n",
    "        \"CK375\": \"GT/IZ\",\n",
    "        \"CK364\": \"RZ/BZ\",\n",
    "        \"CK365\": \"GT/IZ\",\n",
    "        \"CK366\": \"FZ\",\n",
    "        \"CK367\": \"FZ\",\n",
    "        \"CK368\": \"FZ/GT\",\n",
    "        \"CK369\": \"IZ\",\n",
    "        \"CK376\": \"IZ\",\n",
    "        \"CK370\": \"FZ\",\n",
    "        \"CK371\": \"GT/IZ\",\n",
    "        \"CK372\": \"GT/IZ\",\n",
    "        \"CK373\": \"IZ\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "21616fc6-a1db-428a-ba52-ac38b4728374",
   "metadata": {},
   "outputs": [],
   "source": [
    "## update patient_region ID\n",
    "adata.obs[\"patient_region\"] = adata.obs[\"sample\"]\n",
    "adata.obs[\"patient_region\"].replace(\n",
    "    {\n",
    "        \"CK158\": \"control_P1\",\n",
    "        \"CK162\": \"FZ/GT_P4\",\n",
    "        \"CK165\": \"IZ/BZ_P2\",\n",
    "        \"CK163\": \"RZ/BZ_P2\",\n",
    "        \"CK161\": \"IZ_P3\",\n",
    "        \"CK160\": \"RZ/BZ_P3\",\n",
    "        \"CK164\": \"RZ_P3\",\n",
    "        \"CK159\": \"RZ/FZ_P5\",\n",
    "        \"CK374\": \"control_P17\",\n",
    "        \"CK356\": \"RZ_P6\",\n",
    "        \"CK357\": \"control_P7\",\n",
    "        \"CK358\": \"control_P8\",\n",
    "        \"CK359\": \"RZ/GT_P2\",\n",
    "        \"CK360\": \"RZ_P9\",\n",
    "        \"CK361\": \"IZ_P10\",\n",
    "        \"CK362\": \"RZ_P11\",\n",
    "        \"CK363\": \"GT/IZ_P9\",\n",
    "        \"CK375\": \"GT/IZ_P9\",\n",
    "        \"CK364\": \"RZ/BZ_P12\",\n",
    "        \"CK365\": \"GT/IZ_P13\",\n",
    "        \"CK366\": \"FZ_P14\",\n",
    "        \"CK367\": \"FZ_P18\",\n",
    "        \"CK368\": \"FZ/GT_P19\",\n",
    "        \"CK369\": \"IZ_P16\",\n",
    "        \"CK376\": \"IZ_P16\",\n",
    "        \"CK370\": \"FZ_P20\",\n",
    "        \"CK371\": \"GT/IZ_P15\",\n",
    "        \"CK372\": \"GT/IZ_P9_rep2\",\n",
    "        \"CK373\": \"IZ_P15\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "bd509c26-514a-410d-b819-3a81dc9336f4",
   "metadata": {},
   "outputs": [],
   "source": [
    "## update group ID\n",
    "adata.obs[\"group\"] = adata.obs[\"sample\"]\n",
    "adata.obs[\"group\"].replace(\n",
    "    {\n",
    "        \"CK158\": \"group_1\",\n",
    "        \"CK162\": \"group_3\",\n",
    "        \"CK165\": \"group_2\",\n",
    "        \"CK163\": \"group_1\",\n",
    "        \"CK161\": \"group_2\",\n",
    "        \"CK160\": \"group_1\",\n",
    "        \"CK164\": \"group_1\",\n",
    "        \"CK159\": \"group_1\",\n",
    "        \"CK374\": \"group_1\",\n",
    "        \"CK356\": \"group_1\",\n",
    "        \"CK357\": \"group_1\",\n",
    "        \"CK358\": \"group_1\",\n",
    "        \"CK359\": \"group_1\",\n",
    "        \"CK360\": \"group_1\",\n",
    "        \"CK361\": \"group_2\",\n",
    "        \"CK362\": \"group_1\",\n",
    "        \"CK363\": \"group_2\",\n",
    "        \"CK375\": \"group_2\",\n",
    "        \"CK364\": \"group_1\",\n",
    "        \"CK365\": \"group_2\",\n",
    "        \"CK366\": \"group_3\",\n",
    "        \"CK367\": \"group_3\",\n",
    "        \"CK368\": \"group_3\",\n",
    "        \"CK369\": \"group_2\",\n",
    "        \"CK376\": \"group_2\",\n",
    "        \"CK370\": \"group_3\",\n",
    "        \"CK371\": \"group_2\",\n",
    "        \"CK372\": \"group_2\",\n",
    "        \"CK373\": \"group_2\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "6b5aebc0-f12e-4f6c-b7f7-baaa8e7e80d4",
   "metadata": {},
   "outputs": [],
   "source": [
    "## cell metadata\n",
    "# https://github.com/chanzuckerberg/single-cell-curation/blob/main/schema/2.0.0/schema.md#obs-cell-metadata\n",
    "\n",
    "# assay_ontology_term_id\n",
    "adata.obs[\"assay_ontology_term_id\"] = \"EFO:0009922\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "d8153f78-4243-4c70-a2f7-509277e5ff66",
   "metadata": {},
   "outputs": [],
   "source": [
    "# cell_type_ontology_term_id\n",
    "adata.obs[\"cell_type_ontology_term_id\"] = adata.obs[\"cell_type_original\"]\n",
    "adata.obs[\"cell_type_ontology_term_id\"].replace(\n",
    "    {\n",
    "        \"Adipocyte\": \"CL:1000311\",\n",
    "        \"Cardiomyocyte\": \"CL:0000513\",\n",
    "        \"Endothelial\": \"CL:0010008\",\n",
    "        \"Fibroblast\": \"CL:0002548\",\n",
    "        \"Lymphoid\": \"CL:0000838\",\n",
    "        \"Myeloid\": \"CL:0001082\",\n",
    "        \"Mast\": \"CL:0000097\",\n",
    "        \"Neuronal\": \"CL:0000006\",\n",
    "        \"Pericyte\": \"CL:0000669\",\n",
    "        \"prolif\": \"CL:0000003\",\n",
    "        \"vSMCs\": \"CL:0000514\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "2cd1c583-b50f-47e3-b556-698b53e49a61",
   "metadata": {},
   "outputs": [],
   "source": [
    "# development_stage_ontology_term_id\n",
    "adata.obs[\"development_stage_ontology_term_id\"] = adata.obs[\"sample\"]\n",
    "adata.obs[\"development_stage_ontology_term_id\"].replace(\n",
    "    {\n",
    "        \"CK158\": \"HsapDv:0000138\",\n",
    "        \"CK162\": \"HsapDv:0000168\",\n",
    "        \"CK165\": \"HsapDv:0000138\",\n",
    "        \"CK163\": \"HsapDv:0000138\",\n",
    "        \"CK161\": \"HsapDv:0000151\",\n",
    "        \"CK160\": \"HsapDv:0000151\",\n",
    "        \"CK164\": \"HsapDv:0000151\",\n",
    "        \"CK159\": \"HsapDv:0000157\",\n",
    "        \"CK374\": \"HsapDv:0000155\",\n",
    "        \"CK356\": \"HsapDv:0000141\",\n",
    "        \"CK357\": \"HsapDv:0000149\",\n",
    "        \"CK358\": \"HsapDv:0000138\",\n",
    "        \"CK359\": \"HsapDv:0000138\",\n",
    "        \"CK360\": \"HsapDv:0000146\",\n",
    "        \"CK361\": \"HsapDv:0000132\",\n",
    "        \"CK362\": \"HsapDv:0000154\",\n",
    "        \"CK363\": \"HsapDv:0000146\",\n",
    "        \"CK375\": \"HsapDv:0000146\",\n",
    "        \"CK364\": \"HsapDv:0000134\",\n",
    "        \"CK365\": \"HsapDv:0000145\",\n",
    "        \"CK366\": \"HsapDv:0000153\",\n",
    "        \"CK367\": \"HsapDv:0000158\",\n",
    "        \"CK368\": \"HsapDv:0000152\",\n",
    "        \"CK369\": \"HsapDv:0000160\",\n",
    "        \"CK376\": \"HsapDv:0000160\",\n",
    "        \"CK370\": \"HsapDv:0000157\",\n",
    "        \"CK371\": \"HsapDv:0000137\",\n",
    "        \"CK372\": \"HsapDv:0000146\",\n",
    "        \"CK373\": \"HsapDv:0000137\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "9c60a885-2997-41f0-8717-84fef79fb649",
   "metadata": {},
   "outputs": [],
   "source": [
    "# disease_ontology_term_id\n",
    "adata.obs[\"disease_ontology_term_id\"] = adata.obs[\"sample\"]\n",
    "adata.obs[\"disease_ontology_term_id\"].replace(\n",
    "    {\n",
    "        \"CK158\": \"PATO:0000461\",\n",
    "        \"CK162\": \"MONDO:0005068\",\n",
    "        \"CK165\": \"MONDO:0005068\",\n",
    "        \"CK163\": \"MONDO:0005068\",\n",
    "        \"CK161\": \"MONDO:0005068\",\n",
    "        \"CK160\": \"MONDO:0005068\",\n",
    "        \"CK164\": \"MONDO:0005068\",\n",
    "        \"CK159\": \"MONDO:0005068\",\n",
    "        \"CK374\": \"PATO:0000461\",\n",
    "        \"CK356\": \"MONDO:0005068\",\n",
    "        \"CK357\": \"PATO:0000461\",\n",
    "        \"CK358\": \"PATO:0000461\",\n",
    "        \"CK359\": \"MONDO:0005068\",\n",
    "        \"CK360\": \"MONDO:0005068\",\n",
    "        \"CK361\": \"MONDO:0005068\",\n",
    "        \"CK362\": \"MONDO:0005068\",\n",
    "        \"CK363\": \"MONDO:0005068\",\n",
    "        \"CK375\": \"MONDO:0005068\",\n",
    "        \"CK364\": \"MONDO:0005068\",\n",
    "        \"CK365\": \"MONDO:0005068\",\n",
    "        \"CK366\": \"MONDO:0005068\",\n",
    "        \"CK367\": \"MONDO:0005068\",\n",
    "        \"CK368\": \"MONDO:0005068\",\n",
    "        \"CK369\": \"MONDO:0005068\",\n",
    "        \"CK376\": \"MONDO:0005068\",\n",
    "        \"CK370\": \"MONDO:0005068\",\n",
    "        \"CK371\": \"MONDO:0005068\",\n",
    "        \"CK372\": \"MONDO:0005068\",\n",
    "        \"CK373\": \"MONDO:0005068\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "739245a1-1347-452f-b52a-66c3e562d397",
   "metadata": {},
   "outputs": [],
   "source": [
    "# ethnicity_ontology_term_id\n",
    "# assume all patients from Europe\n",
    "# https://www.ebi.ac.uk/ols/ontologies/hancestro/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FHANCESTRO_0031&viewMode=All&siblings=false\n",
    "adata.obs[\"ethnicity_ontology_term_id\"] = \"HANCESTRO:0005\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "b57ec398-1819-4d3a-8ddf-4d4310f28d6e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# is_primary_data\n",
    "adata.obs[\"is_primary_data\"] = True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "3a7a224f-c060-40e8-b21c-430e5806a2a6",
   "metadata": {},
   "outputs": [],
   "source": [
    "# organism_ontology_term_id\n",
    "adata.obs[\"organism_ontology_term_id\"] = \"NCBITaxon:9606\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "3acb4a6e-a3e5-4c67-9b2b-2a0103c36733",
   "metadata": {},
   "outputs": [],
   "source": [
    "# sex_ontology_term_id\n",
    "# PATO:0000383 -> male\n",
    "# PATO:0000384 -> female\n",
    "adata.obs[\"sex_ontology_term_id\"] = adata.obs[\"sample\"]\n",
    "adata.obs[\"sex_ontology_term_id\"].replace(\n",
    "    {\n",
    "        \"CK158\": \"PATO:0000383\",\n",
    "        \"CK162\": \"PATO:0000383\",\n",
    "        \"CK165\": \"PATO:0000383\",\n",
    "        \"CK163\": \"PATO:0000383\",\n",
    "        \"CK161\": \"PATO:0000383\",\n",
    "        \"CK160\": \"PATO:0000383\",\n",
    "        \"CK164\": \"PATO:0000383\",\n",
    "        \"CK159\": \"PATO:0000383\",\n",
    "        \"CK374\": \"PATO:0000383\",\n",
    "        \"CK356\": \"PATO:0000383\",\n",
    "        \"CK357\": \"PATO:0000384\",\n",
    "        \"CK358\": \"PATO:0000383\",\n",
    "        \"CK359\": \"PATO:0000383\",\n",
    "        \"CK360\": \"PATO:0000384\",\n",
    "        \"CK361\": \"PATO:0000383\",\n",
    "        \"CK362\": \"PATO:0000384\",\n",
    "        \"CK363\": \"PATO:0000384\",\n",
    "        \"CK375\": \"PATO:0000384\",\n",
    "        \"CK364\": \"PATO:0000383\",\n",
    "        \"CK365\": \"PATO:0000383\",\n",
    "        \"CK366\": \"PATO:0000383\",\n",
    "        \"CK367\": \"PATO:0000384\",\n",
    "        \"CK368\": \"PATO:0000383\",\n",
    "        \"CK369\": \"PATO:0000383\",\n",
    "        \"CK376\": \"PATO:0000383\",\n",
    "        \"CK370\": \"PATO:0000383\",\n",
    "        \"CK371\": \"PATO:0000384\",\n",
    "        \"CK372\": \"PATO:0000384\",\n",
    "        \"CK373\": \"PATO:0000384\",\n",
    "    },\n",
    "    inplace=True,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "db7dd607-a7e9-4872-b1e5-ee0497f4e511",
   "metadata": {},
   "outputs": [],
   "source": [
    "# tissue_ontology_term_id\n",
    "adata.obs[\"tissue_ontology_term_id\"] = \"UBERON:0002084\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "2b3978b0-48c3-400a-b028-6063bb9bd5c6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sample</th>\n",
       "      <th>n_counts</th>\n",
       "      <th>n_genes</th>\n",
       "      <th>percent_mito</th>\n",
       "      <th>doublet_score</th>\n",
       "      <th>dissociation_score</th>\n",
       "      <th>patient</th>\n",
       "      <th>seq_batch</th>\n",
       "      <th>cell_type_original</th>\n",
       "      <th>final_cluster</th>\n",
       "      <th>region</th>\n",
       "      <th>patient_region</th>\n",
       "      <th>group</th>\n",
       "      <th>assay_ontology_term_id</th>\n",
       "      <th>cell_type_ontology_term_id</th>\n",
       "      <th>development_stage_ontology_term_id</th>\n",
       "      <th>disease_ontology_term_id</th>\n",
       "      <th>ethnicity_ontology_term_id</th>\n",
       "      <th>is_primary_data</th>\n",
       "      <th>organism_ontology_term_id</th>\n",
       "      <th>sex_ontology_term_id</th>\n",
       "      <th>tissue_ontology_term_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1</th>\n",
       "      <td>CK158</td>\n",
       "      <td>2598.0</td>\n",
       "      <td>1678</td>\n",
       "      <td>0.115473</td>\n",
       "      <td>0.000324</td>\n",
       "      <td>0.137064</td>\n",
       "      <td>P1</td>\n",
       "      <td>A</td>\n",
       "      <td>Fibroblast</td>\n",
       "      <td>2</td>\n",
       "      <td>control</td>\n",
       "      <td>control_P1</td>\n",
       "      <td>group_1</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0002548</td>\n",
       "      <td>HsapDv:0000138</td>\n",
       "      <td>PATO:0000461</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1</th>\n",
       "      <td>CK158</td>\n",
       "      <td>13003.0</td>\n",
       "      <td>4187</td>\n",
       "      <td>0.053834</td>\n",
       "      <td>0.003417</td>\n",
       "      <td>-0.006482</td>\n",
       "      <td>P1</td>\n",
       "      <td>A</td>\n",
       "      <td>Cardiomyocyte</td>\n",
       "      <td>0</td>\n",
       "      <td>control</td>\n",
       "      <td>control_P1</td>\n",
       "      <td>group_1</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0000513</td>\n",
       "      <td>HsapDv:0000138</td>\n",
       "      <td>PATO:0000461</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1</th>\n",
       "      <td>CK158</td>\n",
       "      <td>6365.0</td>\n",
       "      <td>2700</td>\n",
       "      <td>0.047133</td>\n",
       "      <td>0.032239</td>\n",
       "      <td>0.005020</td>\n",
       "      <td>P1</td>\n",
       "      <td>A</td>\n",
       "      <td>Cardiomyocyte</td>\n",
       "      <td>3</td>\n",
       "      <td>control</td>\n",
       "      <td>control_P1</td>\n",
       "      <td>group_1</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0000513</td>\n",
       "      <td>HsapDv:0000138</td>\n",
       "      <td>PATO:0000461</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1</th>\n",
       "      <td>CK158</td>\n",
       "      <td>627.0</td>\n",
       "      <td>519</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000365</td>\n",
       "      <td>0.087506</td>\n",
       "      <td>P1</td>\n",
       "      <td>A</td>\n",
       "      <td>Fibroblast</td>\n",
       "      <td>2</td>\n",
       "      <td>control</td>\n",
       "      <td>control_P1</td>\n",
       "      <td>group_1</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0002548</td>\n",
       "      <td>HsapDv:0000138</td>\n",
       "      <td>PATO:0000461</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1</th>\n",
       "      <td>CK158</td>\n",
       "      <td>4488.0</td>\n",
       "      <td>1999</td>\n",
       "      <td>0.155971</td>\n",
       "      <td>0.004785</td>\n",
       "      <td>-0.001798</td>\n",
       "      <td>P1</td>\n",
       "      <td>A</td>\n",
       "      <td>Cardiomyocyte</td>\n",
       "      <td>3</td>\n",
       "      <td>control</td>\n",
       "      <td>control_P1</td>\n",
       "      <td>group_1</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0000513</td>\n",
       "      <td>HsapDv:0000138</td>\n",
       "      <td>PATO:0000461</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TTTCATGGTCTTGCTC-1</th>\n",
       "      <td>CK376</td>\n",
       "      <td>1153.0</td>\n",
       "      <td>940</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.521381</td>\n",
       "      <td>0.066911</td>\n",
       "      <td>P16</td>\n",
       "      <td>B</td>\n",
       "      <td>Fibroblast</td>\n",
       "      <td>19</td>\n",
       "      <td>IZ</td>\n",
       "      <td>IZ_P16</td>\n",
       "      <td>group_2</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0002548</td>\n",
       "      <td>HsapDv:0000160</td>\n",
       "      <td>MONDO:0005068</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TTTCCTCAGGTTCATC-1</th>\n",
       "      <td>CK376</td>\n",
       "      <td>657.0</td>\n",
       "      <td>570</td>\n",
       "      <td>0.456621</td>\n",
       "      <td>0.006264</td>\n",
       "      <td>0.019443</td>\n",
       "      <td>P16</td>\n",
       "      <td>B</td>\n",
       "      <td>Lymphoid</td>\n",
       "      <td>11</td>\n",
       "      <td>IZ</td>\n",
       "      <td>IZ_P16</td>\n",
       "      <td>group_2</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0000838</td>\n",
       "      <td>HsapDv:0000160</td>\n",
       "      <td>MONDO:0005068</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TTTCGATTCCGGTAAT-1</th>\n",
       "      <td>CK376</td>\n",
       "      <td>808.0</td>\n",
       "      <td>673</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.001830</td>\n",
       "      <td>0.104566</td>\n",
       "      <td>P16</td>\n",
       "      <td>B</td>\n",
       "      <td>Myeloid</td>\n",
       "      <td>4</td>\n",
       "      <td>IZ</td>\n",
       "      <td>IZ_P16</td>\n",
       "      <td>group_2</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0001082</td>\n",
       "      <td>HsapDv:0000160</td>\n",
       "      <td>MONDO:0005068</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TTTGACTTCGCCAACG-1</th>\n",
       "      <td>CK376</td>\n",
       "      <td>862.0</td>\n",
       "      <td>717</td>\n",
       "      <td>0.232019</td>\n",
       "      <td>0.013721</td>\n",
       "      <td>0.024106</td>\n",
       "      <td>P16</td>\n",
       "      <td>B</td>\n",
       "      <td>Endothelial</td>\n",
       "      <td>5</td>\n",
       "      <td>IZ</td>\n",
       "      <td>IZ_P16</td>\n",
       "      <td>group_2</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0010008</td>\n",
       "      <td>HsapDv:0000160</td>\n",
       "      <td>MONDO:0005068</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TTTGGTTGTGCCCAGT-1</th>\n",
       "      <td>CK376</td>\n",
       "      <td>511.0</td>\n",
       "      <td>445</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.033085</td>\n",
       "      <td>0.045599</td>\n",
       "      <td>P16</td>\n",
       "      <td>B</td>\n",
       "      <td>Myeloid</td>\n",
       "      <td>4</td>\n",
       "      <td>IZ</td>\n",
       "      <td>IZ_P16</td>\n",
       "      <td>group_2</td>\n",
       "      <td>EFO:0009922</td>\n",
       "      <td>CL:0001082</td>\n",
       "      <td>HsapDv:0000160</td>\n",
       "      <td>MONDO:0005068</td>\n",
       "      <td>HANCESTRO:0005</td>\n",
       "      <td>True</td>\n",
       "      <td>NCBITaxon:9606</td>\n",
       "      <td>PATO:0000383</td>\n",
       "      <td>UBERON:0002084</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>191795 rows × 22 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                               sample  n_counts  n_genes  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1  CK158    2598.0     1678   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1  CK158   13003.0     4187   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1  CK158    6365.0     2700   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1  CK158     627.0      519   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1  CK158    4488.0     1999   \n",
       "...                                               ...       ...      ...   \n",
       "TTTCATGGTCTTGCTC-1                              CK376    1153.0      940   \n",
       "TTTCCTCAGGTTCATC-1                              CK376     657.0      570   \n",
       "TTTCGATTCCGGTAAT-1                              CK376     808.0      673   \n",
       "TTTGACTTCGCCAACG-1                              CK376     862.0      717   \n",
       "TTTGGTTGTGCCCAGT-1                              CK376     511.0      445   \n",
       "\n",
       "                                                percent_mito  doublet_score  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1      0.115473       0.000324   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1      0.053834       0.003417   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1      0.047133       0.032239   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1      0.000000       0.000365   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1      0.155971       0.004785   \n",
       "...                                                      ...            ...   \n",
       "TTTCATGGTCTTGCTC-1                                  0.000000       0.521381   \n",
       "TTTCCTCAGGTTCATC-1                                  0.456621       0.006264   \n",
       "TTTCGATTCCGGTAAT-1                                  0.000000       0.001830   \n",
       "TTTGACTTCGCCAACG-1                                  0.232019       0.013721   \n",
       "TTTGGTTGTGCCCAGT-1                                  0.000000       0.033085   \n",
       "\n",
       "                                                dissociation_score patient  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            0.137064      P1   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1           -0.006482      P1   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            0.005020      P1   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            0.087506      P1   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1           -0.001798      P1   \n",
       "...                                                            ...     ...   \n",
       "TTTCATGGTCTTGCTC-1                                        0.066911     P16   \n",
       "TTTCCTCAGGTTCATC-1                                        0.019443     P16   \n",
       "TTTCGATTCCGGTAAT-1                                        0.104566     P16   \n",
       "TTTGACTTCGCCAACG-1                                        0.024106     P16   \n",
       "TTTGGTTGTGCCCAGT-1                                        0.045599     P16   \n",
       "\n",
       "                                               seq_batch cell_type_original  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         A         Fibroblast   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         A      Cardiomyocyte   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         A      Cardiomyocyte   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         A         Fibroblast   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         A      Cardiomyocyte   \n",
       "...                                                  ...                ...   \n",
       "TTTCATGGTCTTGCTC-1                                     B         Fibroblast   \n",
       "TTTCCTCAGGTTCATC-1                                     B           Lymphoid   \n",
       "TTTCGATTCCGGTAAT-1                                     B            Myeloid   \n",
       "TTTGACTTCGCCAACG-1                                     B        Endothelial   \n",
       "TTTGGTTGTGCCCAGT-1                                     B            Myeloid   \n",
       "\n",
       "                                               final_cluster   region  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             2  control   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             0  control   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             3  control   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             2  control   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             3  control   \n",
       "...                                                      ...      ...   \n",
       "TTTCATGGTCTTGCTC-1                                        19       IZ   \n",
       "TTTCCTCAGGTTCATC-1                                        11       IZ   \n",
       "TTTCGATTCCGGTAAT-1                                         4       IZ   \n",
       "TTTGACTTCGCCAACG-1                                         5       IZ   \n",
       "TTTGGTTGTGCCCAGT-1                                         4       IZ   \n",
       "\n",
       "                                               patient_region    group  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1     control_P1  group_1   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1     control_P1  group_1   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1     control_P1  group_1   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1     control_P1  group_1   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1     control_P1  group_1   \n",
       "...                                                       ...      ...   \n",
       "TTTCATGGTCTTGCTC-1                                     IZ_P16  group_2   \n",
       "TTTCCTCAGGTTCATC-1                                     IZ_P16  group_2   \n",
       "TTTCGATTCCGGTAAT-1                                     IZ_P16  group_2   \n",
       "TTTGACTTCGCCAACG-1                                     IZ_P16  group_2   \n",
       "TTTGGTTGTGCCCAGT-1                                     IZ_P16  group_2   \n",
       "\n",
       "                                               assay_ontology_term_id  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            EFO:0009922   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            EFO:0009922   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            EFO:0009922   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            EFO:0009922   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            EFO:0009922   \n",
       "...                                                               ...   \n",
       "TTTCATGGTCTTGCTC-1                                        EFO:0009922   \n",
       "TTTCCTCAGGTTCATC-1                                        EFO:0009922   \n",
       "TTTCGATTCCGGTAAT-1                                        EFO:0009922   \n",
       "TTTGACTTCGCCAACG-1                                        EFO:0009922   \n",
       "TTTGGTTGTGCCCAGT-1                                        EFO:0009922   \n",
       "\n",
       "                                               cell_type_ontology_term_id  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                 CL:0002548   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                 CL:0000513   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                 CL:0000513   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                 CL:0002548   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                 CL:0000513   \n",
       "...                                                                   ...   \n",
       "TTTCATGGTCTTGCTC-1                                             CL:0002548   \n",
       "TTTCCTCAGGTTCATC-1                                             CL:0000838   \n",
       "TTTCGATTCCGGTAAT-1                                             CL:0001082   \n",
       "TTTGACTTCGCCAACG-1                                             CL:0010008   \n",
       "TTTGGTTGTGCCCAGT-1                                             CL:0001082   \n",
       "\n",
       "                                               development_stage_ontology_term_id  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                     HsapDv:0000138   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                     HsapDv:0000138   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                     HsapDv:0000138   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                     HsapDv:0000138   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1                     HsapDv:0000138   \n",
       "...                                                                           ...   \n",
       "TTTCATGGTCTTGCTC-1                                                 HsapDv:0000160   \n",
       "TTTCCTCAGGTTCATC-1                                                 HsapDv:0000160   \n",
       "TTTCGATTCCGGTAAT-1                                                 HsapDv:0000160   \n",
       "TTTGACTTCGCCAACG-1                                                 HsapDv:0000160   \n",
       "TTTGGTTGTGCCCAGT-1                                                 HsapDv:0000160   \n",
       "\n",
       "                                               disease_ontology_term_id  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             PATO:0000461   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             PATO:0000461   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             PATO:0000461   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             PATO:0000461   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             PATO:0000461   \n",
       "...                                                                 ...   \n",
       "TTTCATGGTCTTGCTC-1                                        MONDO:0005068   \n",
       "TTTCCTCAGGTTCATC-1                                        MONDO:0005068   \n",
       "TTTCGATTCCGGTAAT-1                                        MONDO:0005068   \n",
       "TTTGACTTCGCCAACG-1                                        MONDO:0005068   \n",
       "TTTGGTTGTGCCCAGT-1                                        MONDO:0005068   \n",
       "\n",
       "                                               ethnicity_ontology_term_id  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             HANCESTRO:0005   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             HANCESTRO:0005   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             HANCESTRO:0005   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             HANCESTRO:0005   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             HANCESTRO:0005   \n",
       "...                                                                   ...   \n",
       "TTTCATGGTCTTGCTC-1                                         HANCESTRO:0005   \n",
       "TTTCCTCAGGTTCATC-1                                         HANCESTRO:0005   \n",
       "TTTCGATTCCGGTAAT-1                                         HANCESTRO:0005   \n",
       "TTTGACTTCGCCAACG-1                                         HANCESTRO:0005   \n",
       "TTTGGTTGTGCCCAGT-1                                         HANCESTRO:0005   \n",
       "\n",
       "                                                is_primary_data  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             True   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             True   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             True   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             True   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1             True   \n",
       "...                                                         ...   \n",
       "TTTCATGGTCTTGCTC-1                                         True   \n",
       "TTTCCTCAGGTTCATC-1                                         True   \n",
       "TTTCGATTCCGGTAAT-1                                         True   \n",
       "TTTGACTTCGCCAACG-1                                         True   \n",
       "TTTGGTTGTGCCCAGT-1                                         True   \n",
       "\n",
       "                                               organism_ontology_term_id  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            NCBITaxon:9606   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            NCBITaxon:9606   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            NCBITaxon:9606   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            NCBITaxon:9606   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1            NCBITaxon:9606   \n",
       "...                                                                  ...   \n",
       "TTTCATGGTCTTGCTC-1                                        NCBITaxon:9606   \n",
       "TTTCCTCAGGTTCATC-1                                        NCBITaxon:9606   \n",
       "TTTCGATTCCGGTAAT-1                                        NCBITaxon:9606   \n",
       "TTTGACTTCGCCAACG-1                                        NCBITaxon:9606   \n",
       "TTTGGTTGTGCCCAGT-1                                        NCBITaxon:9606   \n",
       "\n",
       "                                               sex_ontology_term_id  \\\n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         PATO:0000383   \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         PATO:0000383   \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         PATO:0000383   \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         PATO:0000383   \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1         PATO:0000383   \n",
       "...                                                             ...   \n",
       "TTTCATGGTCTTGCTC-1                                     PATO:0000383   \n",
       "TTTCCTCAGGTTCATC-1                                     PATO:0000383   \n",
       "TTTCGATTCCGGTAAT-1                                     PATO:0000383   \n",
       "TTTGACTTCGCCAACG-1                                     PATO:0000383   \n",
       "TTTGGTTGTGCCCAGT-1                                     PATO:0000383   \n",
       "\n",
       "                                               tissue_ontology_term_id  \n",
       "AAACCCACAAAGGAGA-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1          UBERON:0002084  \n",
       "AAACCCACAGAGATGC-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1          UBERON:0002084  \n",
       "AAACCCAGTAACGGTG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1          UBERON:0002084  \n",
       "AAACCCAGTCCAGAAG-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1          UBERON:0002084  \n",
       "AAACCCAGTCGTCGGT-1_1_1_1_1_1_1_1_1_1_1_1_1_1_1          UBERON:0002084  \n",
       "...                                                                ...  \n",
       "TTTCATGGTCTTGCTC-1                                      UBERON:0002084  \n",
       "TTTCCTCAGGTTCATC-1                                      UBERON:0002084  \n",
       "TTTCGATTCCGGTAAT-1                                      UBERON:0002084  \n",
       "TTTGACTTCGCCAACG-1                                      UBERON:0002084  \n",
       "TTTGGTTGTGCCCAGT-1                                      UBERON:0002084  \n",
       "\n",
       "[191795 rows x 22 columns]"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "adata.obs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "b93e7bc1-e4bf-4b01-923d-7ef8cbd97fa8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# update Gene Metadata\n",
    "# feature_biotype\n",
    "adata.var[\"feature_biotype\"] = \"gene\"\n",
    "\n",
    "# feature_id\n",
    "# adata.var[\"feature_id\"] = \"gene\"\n",
    "\n",
    "# feature_is_filtered\n",
    "adata.var[\"feature_is_filtered\"] = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "4db94cf2-080b-4733-a019-c96a43dc0ec9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature_biotype</th>\n",
       "      <th>feature_is_filtered</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>AL627309.1</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AL627309.5</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AL627309.4</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AL669831.2</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LINC01409</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AL035661.2</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AP001062.2</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PNMA6F</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LYPD8</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>KRT79</th>\n",
       "      <td>gene</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>29126 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           feature_biotype  feature_is_filtered\n",
       "AL627309.1            gene                False\n",
       "AL627309.5            gene                False\n",
       "AL627309.4            gene                False\n",
       "AL669831.2            gene                False\n",
       "LINC01409             gene                False\n",
       "...                    ...                  ...\n",
       "AL035661.2            gene                False\n",
       "AP001062.2            gene                False\n",
       "PNMA6F                gene                False\n",
       "LYPD8                 gene                False\n",
       "KRT79                 gene                False\n",
       "\n",
       "[29126 rows x 2 columns]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "adata.var"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "4b495e6e-a038-4a77-b201-26b098268828",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>feature_biotype</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>AL627309.1</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AL627309.5</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AL627309.4</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AL669831.2</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LINC01409</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AL035661.2</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AP001062.2</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PNMA6F</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LYPD8</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>KRT79</th>\n",
       "      <td>gene</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>29126 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           feature_biotype\n",
       "AL627309.1            gene\n",
       "AL627309.5            gene\n",
       "AL627309.4            gene\n",
       "AL669831.2            gene\n",
       "LINC01409             gene\n",
       "...                    ...\n",
       "AL035661.2            gene\n",
       "AP001062.2            gene\n",
       "PNMA6F                gene\n",
       "LYPD8                 gene\n",
       "KRT79                 gene\n",
       "\n",
       "[29126 rows x 1 columns]"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "adata.raw.var[\"feature_biotype\"] = \"gene\"\n",
    "adata.raw.var"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "45eb1274-f59d-4e0b-bd94-aad5d299da70",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Dataset Metadata\n",
    "\n",
    "# schema_version\n",
    "adata.uns[\"schema_version\"] = \"2.0.0\"\n",
    "\n",
    "# title\n",
    "adata.uns[\"title\"] = \"All-snRNA-Spatial multi-omic map of human myocardial infarction\"\n",
    "\n",
    "# X_normalization\n",
    "adata.uns[\"X_normalization\"] = \"LogNormalization\"\n",
    "\n",
    "# batch_condition\n",
    "adata.uns[\"batch_condition\"] = [\"sample\"]\n",
    "\n",
    "# default_embedding\n",
    "adata.uns[\"default_embedding\"] = \"X_umap\"\n",
    "\n",
    "# X_approximate_distribution\n",
    "adata.uns[\"X_approximate_distribution\"] = \"normal\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "286dd72b-457a-45a7-8b61-9736c67ee3a8",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "... storing 'patient' as categorical\n",
      "... storing 'region' as categorical\n",
      "... storing 'patient_region' as categorical\n",
      "... storing 'group' as categorical\n",
      "... storing 'assay_ontology_term_id' as categorical\n",
      "... storing 'cell_type_ontology_term_id' as categorical\n",
      "... storing 'development_stage_ontology_term_id' as categorical\n",
      "... storing 'disease_ontology_term_id' as categorical\n",
      "... storing 'ethnicity_ontology_term_id' as categorical\n",
      "... storing 'organism_ontology_term_id' as categorical\n",
      "... storing 'sex_ontology_term_id' as categorical\n",
      "... storing 'tissue_ontology_term_id' as categorical\n",
      "... storing 'feature_biotype' as categorical\n",
      "... storing 'feature_biotype' as categorical\n"
     ]
    }
   ],
   "source": [
    "adata.write(\"./snRNA-seq-submission.h5ad\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
